ipq40xx: fix second 5ghz radio on Netgear RBx40
authorChristoph Krapp <[email protected]>
Sat, 22 Nov 2025 19:42:33 +0000 (20:42 +0100)
committerRobert Marko <[email protected]>
Tue, 16 Dec 2025 09:29:33 +0000 (10:29 +0100)
When support was added for the RBR40 and RBS40 it was assumed that they
also share the same second 5ghz wifi chip as their bigger siblings.
Turns out that instead of QCA9984 (RBx50, SRx60) these devices use
QCA9886 like the RBx20 devices to.
They also load different boardfiles for the IPQ4019 chip.

This moves the wifi nodes from the orbi.dtsi to each device dts file and
change the RBx40 boardfile variants.

Signed-off-by: Christoph Krapp <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20877
Signed-off-by: Robert Marko <[email protected]>
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-orbi.dtsi
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-rbr40.dts
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-rbr50.dts
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-rbs40.dts
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-rbs50.dts
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-srr60.dts
target/linux/ipq40xx/files-6.12/arch/arm/boot/dts/qcom/qcom-ipq4019-srs60.dts
target/linux/ipq40xx/image/generic.mk

index 10aa56de2713d8a2fda660419e142bd1d7fa376c..9e58e0de40822df5be2f59213dc4fcd680d9be70 100644 (file)
        perst-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
        wake-gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
 };
-
-&pcie_bridge0 {
-       wifi@0,0 {
-               compatible = "qcom,ath10k";
-               reg = <0x00010000 0 0 0 0>;
-               ieee80211-freq-limit = <5470000 5875000>;
-               qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
-       };
-};
-
-&wifi0 {
-       status = "okay";
-
-       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
-};
-
-&wifi1 {
-       status = "okay";
-
-       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
-};
index 1c579dcdfb1aed3fa5e1ee5ba18ff1d78f7600fd..799a1df1dfc03cd0d994c8c6d402dfac2f1ff6a1 100644 (file)
                bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait";
        };
 };
+
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               ieee80211-freq-limit = <5170000 5350000>;
+               qcom,ath10k-calibration-variant = "Netgear-RBK40";
+       };
+};
+
+&wifi0 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-RBK40";
+};
+
+&wifi1 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-RBK40";
+};
index 81e846fb1f0d1da52882bde2ff1a3e62546dd5e5..902ee821ee123c509a3aff0baf5bc912e5ef2e1a 100644 (file)
 &usb2 {
        status = "okay";
 };
+
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               ieee80211-freq-limit = <5470000 5875000>;
+               qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+       };
+};
+
+&wifi0 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
+
+&wifi1 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
index 6ff0ed8bb18a4516df374d871712f711a9d6ad1f..882af0bb61a0c36b5601508bcd5146d00582e933 100644 (file)
                bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_ALT)ro,256K(0:CDT)ro,256K(0:CDT_ALT)ro,256K(0:DDRPARAMS)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_ALT)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,1457651200(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait";
        };
 };
+
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               ieee80211-freq-limit = <5170000 5350000>;
+               qcom,ath10k-calibration-variant = "Netgear-RBK40";
+       };
+};
+
+&wifi0 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-RBK40";
+};
+
+&wifi1 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-RBK40";
+};
index 3ac6df3761590dfbdf558b141b95ac1de180857b..5453ad5f6d7d637dd9af3cfe4d9f1660cd44981f 100644 (file)
 &usb2 {
        status = "okay";
 };
+
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               ieee80211-freq-limit = <5470000 5875000>;
+               qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+       };
+};
+
+&wifi0 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
+
+&wifi1 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
index c137b41ee84d1abc583db06f218732b60ca1b9c1..0e1d8552557f8ebd8342f95abb50b9c95dc2af35 100644 (file)
                bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_1)ro,256K(0:CDT)ro,256K(0:CDT_1)ro,512K(0:BOOTCONFIG1)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_1)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,64K(cert)ro,3840K(kernel-2)ro,31488K(rootfs-2)ro,35328K@44881K(firmware-2)ro,5M(device_table)ro,17M(cp_file)ro,102737K(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait";
        };
 };
+
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               ieee80211-freq-limit = <5470000 5875000>;
+               qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+       };
+};
+
+&wifi0 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
+
+&wifi1 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
index 5b09e1ee24ecf7caa9467226c11536ca800ca5ab..70b4b896a75621468bdc6cd5a3153df208f85c90 100644 (file)
                bootargs = "root=/dev/mmcblk0p20 blkdevparts=mmcblk0:512K@17K(0:SBL1)ro,512K(0:BOOTCONFIG)ro,512K(0:QSEE)ro,512K(0:QSEE_1)ro,256K(0:CDT)ro,256K(0:CDT_1)ro,512K(0:BOOTCONFIG1)ro,256K(0:APPSBLENV)ro,1M(0:APPSBL)ro,1M(0:APPSBL_1)ro,256K(0:ART)ro,256K(ARTMTD)ro,2M(language)ro,256K(config)ro,256K(pot)ro,256K(traffic_meter)ro,256K(pot_bak)ro,256K(traffic_meter.bak)ro,3840K(kernel),31488K(rootfs),35328K@9233K(firmware),256K(mtdoops)ro,64K(cert)ro,3840K(kernel-2)ro,31488K(rootfs-2)ro,35328K@44881K(firmware-2)ro,5M(device_table)ro,17M(cp_file)ro,102737K(reserved)ro,-(unallocated) rootfstype=squashfs,ext4 rootwait";
        };
 };
+
+&pcie_bridge0 {
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x00010000 0 0 0 0>;
+               ieee80211-freq-limit = <5470000 5875000>;
+               qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+       };
+};
+
+&wifi0 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
+
+&wifi1 {
+       status = "okay";
+
+       qcom,ath10k-calibration-variant = "Netgear-Orbi-Pro-SRK60";
+};
index 36f7e4047fbeeab57fe400817d2b49dde20abd5b..1d02a2fc1f93f4bfd6eac55bfef76611405790e6 100644 (file)
@@ -904,7 +904,7 @@ define Device/netgear_orbi
                append-rootfs | pad-rootfs | netgear-dni
        IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-to 64k | \
                sysupgrade-tar rootfs=$$$$@ | append-metadata
-       DEVICE_PACKAGES := ath10k-firmware-qca9984-ct e2fsprogs kmod-fs-ext4 losetup
+       DEVICE_PACKAGES := e2fsprogs kmod-fs-ext4 losetup
 endef
 
 define Device/netgear_lbr20
@@ -967,6 +967,7 @@ define Device/netgear_rbx40
        KERNEL_SIZE := 3932160
        ROOTFS_SIZE := 32243712
        IMAGE_SIZE := 36175872
+       DEVICE_PACKAGES += ipq-wifi-netgear_rbk40 ath10k-firmware-qca9888-ct
 endef
 
 define Device/netgear_rbr40
@@ -991,6 +992,7 @@ define Device/netgear_rbx50
        KERNEL_SIZE := 3932160
        ROOTFS_SIZE := 32243712
        IMAGE_SIZE := 36175872
+       DEVICE_PACKAGES += ath10k-firmware-qca9984-ct
 endef
 
 define Device/netgear_rbr50
@@ -1015,6 +1017,7 @@ define Device/netgear_srx60
        KERNEL_SIZE := 3932160
        ROOTFS_SIZE := 32243712
        IMAGE_SIZE := 36175872
+       DEVICE_PACKAGES += ath10k-firmware-qca9984-ct
 endef
 
 define Device/netgear_srr60